OBJS = ast.cmo parser.cmi parser.cmo scanner.cmo calc.cmo
RUN = parser.cmo scanner.cmo calc.cmo

calc : $(OBJS) run

scanner.ml : scanner.mll
	ocamllex scanner.mll
parser.ml parser.mli : parser.mly
	ocamlyacc parser.mly
	
%.cmo : %.ml # Pattern matching
	ocamlc -c $<
%.cmi : %.mli
	ocamlc -c $<
	
run :
	ocamlc -o calc parser.cmo scanner.cmo calc.cmo
	
clean :
	rm -f calc parser.ml parser.mli scanner.ml *.cmo *.cmi
